home *** CD-ROM | disk | FTP | other *** search
/ The X-Philes (2nd Revision) / The X-Philes Number 1 (1995).iso / xphiles / hp48hor2 / argus302.src < prev    next >
Text File  |  1992-08-18  |  19KB  |  986 lines

  1. %%HP: T(3)A(D)F(.);
  2. @ ARGUS by Volker Erb
  3. \<<
  4. GROB 174 64 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000000008000000000000000000000000800000000000000000081000000000000000020000008000000000000000000C20000000000000000700000080000000000000000004200000001000000007000000C810000000000000000620EF1128300000008A000000460000000000000000026036212C2000000002000000C100000000000000000FFB1321266000000002000000600000000000000000814E0121234000000002000008300000000000000000804401A3F1400008000303000620000000000000000060C403BED060000810028C008130000000000000000020840EF008300000107240706010000000000000000010800E30008F10003C8340891810000000000000000C10000330EF700000630620060800000000000000000C0000011F10000000C00B10000E000000000000000000000F3B1000000008B102830083000000000000000000CFF00E00000000060302CE10C000000000000000000F3000000000000081060260707000000000000000000000000000000000600C1A30CD100000000000000000000000000000000810007F000700000000000000000000000000000000000000C300000000000000000000000000000000000000000002000000000000000000000000000000000000000000020000000400000000000000000000000000000000000200000008100000000000000000000000000008FFFFFFFFFFFFFF70000000000000000000000000000012480248012488100000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
  5. PICT STO (-4.7,3.2)
  6. PVIEW (-2,1.2)
  7. "V. 3.02" 1 \->GROB
  8. PICT 3 ROLLD GOR .5
  9. WAIT 4000 .2 BEEP
  10. (-4.3,-.4)
  11. "Sorry, takes about two Minutes"
  12. 1 \->GROB PICT 3
  13. ROLLD GOR (-4.3,-1)
  14. "to setup Your System  ..."
  15. 1 \->GROB PICT 3
  16. ROLLD GOR .6 WAIT
  17. 253 .2 BEEP
  18. (-4.7,-1.8)
  19. "This is a shareware copy !"
  20. 1 \->GROB PICT 3
  21. ROLLD GOR
  22. (-4.7,-2.5)
  23. "Send 15$ or Postcards or..."
  24. 1 \->GROB PICT 3
  25. ROLLD GOR 3 WAIT
  26. TEXT { Okay { } { }
  27. No } MENU
  28. "Did You save Your
  29. Results in a Directory
  30. not named RESULTS ?
  31. If not, press <NO>,
  32. rename Directory and
  33. start again,else press
  34. <OKAY> !"
  35. 1 DISP 3 FREEZE
  36.   DO -1 WAIT
  37.   UNTIL DUP DUP
  38. 11.1 SAME SWAP 14.1
  39. SAME OR
  40.   END
  41.   IF 11.1 SAME
  42.   THEN 2 MENU
  43.   ELSE 2 MENU KILL
  44.   END
  45.   IFERR 'RESULTS'
  46. PGDIR 'RESULTS'
  47. CRDIR RESULTS RCLF
  48. 'Flags' STO PATH
  49. 'Path' STO { On { }
  50. { } Off } MENU
  51. CLLCD
  52. "Sound <ON> or <OFF>?"
  53. 1 DISP 3 FREEZE
  54.     DO -1 WAIT
  55.     UNTIL DUP DUP
  56. 11.1 SAME SWAP 14.1
  57. SAME OR
  58.     END
  59.     IF 11.1 SAME
  60.     THEN -56 CF
  61.     ELSE -56 SF
  62.     END { } MENU
  63.     \<< "" # 5B15h
  64. SYSEVAL PURGE
  65.       \<<
  66.       \>> "" # 5B15h
  67. SYSEVAL STO
  68.     \>> 'sc' STO
  69.     \<< 220 .1 BEEP
  70.     \>> 'T\Gt' STO
  71. CLLCD PATH HOME
  72.     \<< ERASE (-5,3)
  73. (2.5,-3) BOX
  74. (-6.5,3.2) PVIEW
  75. (-5,2.3)
  76. "   Argus was created"
  77. 1 \->GROB PICT 3
  78. ROLLD GOR 1000 .1
  79. BEEP (-5,1.6)
  80. "       by " 1
  81. \->GROB PICT 3 ROLLD
  82. GOR 1500 .1 BEEP
  83. (-5,.9)
  84. "   Volker Erb" 1
  85. \->GROB PICT 3 ROLLD
  86. GOR 2000 .1 BEEP
  87. (-5,.2)
  88. "   Ernst-Reuter-Str.31"
  89. 1 \->GROB PICT 3
  90. ROLLD GOR 2500 .1
  91. BEEP (-5,-.5)
  92. "   D-W6508 Alzey"
  93. 1 \->GROB PICT 3
  94. ROLLD GOR 3000 .1
  95. BEEP (-5,-1.2)
  96. "   Germany" 1
  97. \->GROB PICT 3 ROLLD
  98. GOR 3500 .1 BEEP
  99. (-5,-1.9)
  100. "   Tel:01149-6731/8167"
  101. 1 \->GROB PICT 3
  102. ROLLD GOR 100 .5
  103. BEEP 3 FREEZE 1.5
  104. WAIT
  105.     \>> 'Adress' STO
  106. EVAL sc Adress TEXT
  107. RCLKEYS 'Keys' STO
  108. sc { S T\Gt 21.1 T\Gt
  109. 21.2 T\Gt 21.3 T\Gt
  110. 22.1 T\Gt 22.2 T\Gt
  111. 22.3 T\Gt 24.1 T\Gt
  112. 24.2 T\Gt 24.3 T\Gt
  113. 24.6 T\Gt 25.2 T\Gt
  114. 25.3 T\Gt 25.6 T\Gt
  115. 26.1 T\Gt 31.2 T\Gt
  116. 31.3 T\Gt 32.3 T\Gt
  117. 33.1 T\Gt 35.2 T\Gt
  118. 36.2
  119.     \<< CONT
  120.     \>> 51.1 T\Gt 52.2
  121. T\Gt 52.3 T\Gt 54.2 T\Gt
  122. 61.2 T\Gt 61.3 T\Gt
  123. 62.2 T\Gt 62.3 T\Gt
  124. 73.2 T\Gt 73.3 T\Gt
  125. 74.2 T\Gt 74.3 T\Gt
  126. 85.2 T\Gt 85.5
  127.     \<< CONT
  128.     \>> 91.1 T\Gt 93.2
  129. T\Gt 93.3 T\Gt 93.5 T\Gt
  130. 93.6
  131.     \<< CONT
  132.     \>> 94.1 T\Gt 94.4
  133. } STOKEYS -62 SF {
  134. } 'STACK' STO { }
  135. MENU TEXT
  136.     \<< PICT STO { }
  137. PVIEW
  138.     \>> 'PVER' STO
  139.     \<< \-> I15
  140.       \<< I15 "." S\Gs
  141. 1 + + +
  142.       \>>
  143.     \>> 'SUBEx' STO
  144.     \<< SUBEx "" S\Gs +
  145. "." + S\Gs 1 + +
  146. 'Extent' STO DUP \->
  147. I16
  148.       \<< OBJ\->
  149.         IFERR Tr
  150.         THEN I16
  151. Sort
  152.         END
  153.       \>>
  154.     \>> 'Sort' STO
  155.     \<< DROP2 DUP {
  156. PURGE CONT } MENU
  157. "Error in Subdirectory
  158. \->'Var' <PURGE> <CONT>"
  159. Disp STO
  160.     \>> 'Check' STO
  161. \GSDAT
  162.     IF DUP TYPE 3
  163. SAME
  164.     THEN 'Data' STO
  165.     ELSE DROP
  166.     END T\Gt 0 'S\Gs'
  167. STO { } 'TRASH' STO
  168. { TR YZ results
  169. STACK SCans Tr S\Gs
  170. Trash cst CST T\Gt
  171. SUBEx Sort PVER
  172. Check Data GARB
  173. Disp sm sc Keys
  174. HALt sto PPAR Path
  175. Flags } 'GARB' STO
  176.     \<< DUP 'TRASH'
  177. STO+
  178.     \>> 'TR' STO { }
  179. 'Trash' STO
  180.     \<< DUP 'Trash'
  181. STO+
  182.     \>> 'Tr' STO
  183. CLLCD
  184. "This is a complet
  185. Error Analysis with 
  186. Features, like forming
  187.  Errorequations and
  188.     Statistics !
  189.  (Next Version with
  190.   Graphic Devices !)"
  191. 1 DISP 3 FREEZE {
  192. CONT Quit } MENU
  193.     \<< RCLF 'I72' TR
  194. STO sc HALT I72
  195. STOF
  196.     \>> 'HALt' STO
  197.     \<< TEXT 1 DISP 3
  198. FREEZE T\Gt HALt sm
  199.     \>> 'Disp' STO
  200.     \<< CLLCD
  201. "Just a Moment..."
  202. 3 DISP 3 FREEZE
  203.     \>> 'sm' STO
  204.     \<<
  205.       IFERR RCLF \->
  206. Z N IQ
  207.         \<< Z N TR
  208. STO N "" + Ex OBJ\->
  209. Z SWAP STo IQ STOF
  210. Z N
  211.         \>>
  212.       THEN { DROP
  213. CONT } MENU CLLCD
  214. "Remove Garbidge and
  215. give a Value or Name
  216. and press <CONT>!"
  217. Disp SWAP YZ
  218.       END
  219.     \>> 'YZ' STO T\Gt {
  220. } 'SCans' STO { }
  221. 'results' STO sc
  222.     DO { TRASH EQ }
  223. 'TRASH' STO DEPTH
  224. \->LIST 'STACK' STO+
  225. STD 'S\Gs' INCR
  226.       IF 1 \=/
  227.       THEN 1
  228. 'Activ' TR STO
  229.       END "" STD S\Gs
  230. + 'Extent' TR STO
  231.       \<< Extent +
  232.       \>> 'Ex' TR STO
  233. 'Res' Ex DUP 'LATE'
  234. TR STO OBJ\->
  235.       IFERR Tr
  236.       THEN UPDIR
  237. LATE Sort
  238.       END DUP
  239. 'STORE' TR STO DUP
  240. CRDIR EVAL 'PVER'
  241. RCL 'PVER' STO
  242. UPDIR
  243.       \<< DUP2
  244.         IFERR STORE
  245. STO
  246.         THEN Check
  247.         END DROP2
  248. UPDIR
  249.       \>> 'STo' TR
  250. STO RAD
  251.       \<<
  252.         IFERR CLEAR
  253.           IF Data
  254. DUP TYPE 3 SAME
  255.           THEN
  256. '\GSDAT' STO
  257.           ELSE DROP
  258.           END
  259.           IF Activ
  260. 1 SAME
  261.           THEN
  262.             \<< I13
  263. CONT
  264.             \>>
  265. 'SAVE' TR STO
  266.             \<< I14
  267. CONT
  268.             \>>
  269. 'Delete' TR STO {
  270. SAVE Delete } MENU
  271. CLLCD
  272. "Delete Everything
  273. or Save Results ?"
  274. Disp 0 DELKEYS Keys
  275. STOKEYS -62 CF
  276. Flags STOF
  277. "Go and get some Coffee
  278. it takes Time... !"
  279. 2 DISP 3 FREEZE
  280.           ELSE 0
  281. DELKEYS Keys
  282. STOKEYS -62 CF
  283. Flags STOF I14
  284.           END
  285.           IF I14
  286. SAME
  287.           THEN
  288. STACK OBJ\-> DROP
  289. UPDIR 'RESULTS'
  290. PGDIR
  291.           ELSE
  292. STACK OBJ\-> DROP
  293. GARB TRASH UNION
  294. PURGE 2 MENU ""
  295. # 5B15h SYSEVAL
  296. PURGE
  297.           END
  298. Adress ARGUS 2 MENU
  299. KILL
  300.         THEN
  301. ARGUS302
  302.         END
  303.       \>> 'Quit' TR
  304. STO
  305.       DO CLEAR
  306.         DO CLLCD {
  307. CONT { } { } { }
  308. Quit } MENU
  309. "Type Name of Function
  310. and press <CONT>"
  311. Disp
  312.         UNTIL DEPTH
  313. 0 \=/
  314.         END DUP
  315.       UNTIL TYPE 6
  316. SAME
  317.       END 'Fx' YZ
  318. STO Fx "" + \GD SWAP
  319. + OBJ\-> '\GDFx' YZ STO
  320.       DO
  321.         DO CLEAR
  322. CLLCD { CONT { }
  323. EVAL { } Quit }
  324. MENU
  325. "Type Equation like
  326.    '\v/(A*B/COS(C))'
  327. and <CONT> or use the
  328. <EQUATION>-Writer and
  329.  press first <EVAL> 
  330.   and then <CONT>"
  331. Disp
  332.         UNTIL DEPTH
  333. 0 \=/
  334.         END
  335.       UNTIL DUP
  336. TYPE 9 SAME
  337.       END 'EQN' YZ
  338. STO \GSDAT
  339.       IF DUP TYPE 3
  340. SAME
  341.       THEN 'Data'
  342. STO
  343.       ELSE DROP
  344.       END
  345.       \<< 440 .1 BEEP
  346.       \>> 'T\Gt' TR STO
  347.       \<< y CONT
  348.       \>> 'YES' TR
  349. STO
  350.       \<< n CONT
  351.       \>> 'NO' TR STO
  352. { YES NO Quit }
  353. MENU CLLCD { T\Gt 61
  354. T\Gt 71 T\Gt 81 }
  355. STOKEYS
  356. "Simplified Erroreq.?
  357. Takes Time!  "
  358. Disp 'SIMP' TR STO
  359.       IF SIMP y
  360. SAME
  361.       THEN
  362.         \<< 'X3' STO
  363.           IF X3
  364. TYPE 6 SAME
  365.           THEN T\Gt
  366.           ELSE
  367.             DO X3
  368. DUP COLCT DUP 'X3'
  369. STO
  370.             UNTIL
  371. BYTES DROP SWAP
  372. BYTES DROP SAME
  373.             END
  374.           END X3
  375. 'X3' PURGE
  376.         \>>
  377. 'Simplifier' TR STO
  378.       END EQN
  379. EQNVARS DROP DTAG
  380. OBJ\-> \-> X1
  381.       \<< { } 'ABC'
  382. STO 1 X1
  383.         FOR I1 DUP
  384. \-> A1
  385.           \<< "\GD" ""
  386. A1 + +
  387.           \>> OBJ\->
  388. SWAP 'ABC' STO+
  389. 'ABC' STO+
  390.         NEXT
  391.       \>> ABC 'ABC'
  392. YZ STO
  393.       \<< 880 .1 BEEP
  394.       \>> 'T\Gt' STO 0
  395. 'EEQ' STO ABC OBJ\->
  396. 2 / \-> I2
  397.       \<< 1 I2
  398.         FOR I3 EQN
  399. SWAP \.d *
  400.           IF SIMP y
  401. SAME
  402.           THEN
  403. Simplifier
  404.           END SQ
  405. 'EEQ' STO+
  406.         NEXT
  407.       \>> EEQ \v/ 'EEQ'
  408. YZ STO 1 'Activ' TR
  409. STO sc
  410.       \<< 330 .1 BEEP
  411.       \>> 'T\Gt' STO
  412.       \<< 'D\Gd\Gl'
  413.         IF DEPTH 2
  414. \=/
  415.         THEN CLEAR
  416.         ELSE SWAP
  417.         END CONT
  418.       \>> 'OKAy' TR
  419. STO
  420.       DO
  421.         DO CLEAR {
  422. OKAy Quit } MENU
  423. 'D\Gd\Gl' PURGE CLLCD
  424. "Give Number of Datas 
  425. and press <OKAY> 
  426. or press <QUIT> !"
  427. Disp
  428.         UNTIL DEPTH
  429. 2 SAME
  430.         END
  431.       UNTIL DUP
  432. TYPE 0 SAME
  433.       END SWAP YZ
  434. STO { } 'R.LIST'
  435. STO
  436.       \<<
  437.         IFERR SCI
  438.         THEN T\Gt 1
  439. 'Q\Gn' TR STO
  440.         END CONT
  441.       \>> 'SCi' TR
  442. STO
  443.       \<<
  444.         IFERR FIX
  445.         THEN T\Gt 1
  446. 'Q\Gn' TR STO
  447.         END CONT
  448.       \>> 'FIx' TR
  449. STO
  450.       \<< STD CONT
  451.       \>> 'STd' TR
  452. STO RCLF \-> I15
  453.       \<<
  454.         DO
  455.           DO 'Q\Gn'
  456. PURGE CLEAR CLLCD {
  457. SCi FIx STd } MENU
  458.             IFERR
  459. "Give Mode of 
  460. Numberdisplay like
  461. n SCI, n FIX or STD"
  462. 1 DISP 3 FREEZE T\Gt
  463. HALT sm
  464.             THEN T\Gt
  465. 1 'Q\Gn' TR STO
  466.             END
  467.           UNTIL Q\Gn
  468. 1 SAME NOT
  469.           END
  470.         UNTIL DEPTH
  471. 0 SAME
  472.         END CLEAR
  473.         IF D\Gd\Gl 0
  474. SAME NOT
  475.         THEN Fx \GDFx
  476. P% 3 \->LIST ABC
  477. UNION \->STR 'Gen'
  478. STO 1 'I23' TR STO
  479. y 'I26' TR STO ABC
  480. 'ABCD' TR STO { }
  481. 'ABC.UN' STO 1
  482. 'I99' TR STO 1 D\Gd\Gl
  483.           FOR I4
  484.             IF I23
  485. 1 SAME
  486.             THEN {
  487. YES NO } MENU CLLCD
  488. "Do You wish to use
  489. Units with Your 
  490. Data-Values ?"
  491. Disp 'I26' TR STO
  492.             END
  493.             IF I26
  494. y SAME
  495.             THEN
  496. 'SKEY' 26.1 ASN
  497.               DO
  498. ABC 42 MENU OBJ\-> \->
  499. I24
  500. \<< 1 I24
  501.   FOR I25
  502.     IF DUP const
  503. SAME NOT
  504.     THEN DUP "" + \->
  505. I30 I31
  506.       \<< DEPTH \->LIST
  507. 'I38' TR STO
  508.         DO
  509.           IFERR
  510.             DO
  511.               DO
  512. CLEAR 42 MENU
  513. "Give a Value for Xx !
  514. Then press <SPC>-Key!"
  515. "Xx" I31 REPLACE
  516. CLLCD 1 DISP 3
  517. FREEZE T\Gt HALt sm
  518.               UNTIL
  519. DEPTH 1 SAME
  520.               END
  521.             UNTIL
  522. DUP TYPE 0 SAME
  523. SWAP DUP TYPE 13
  524. SAME ROT OR
  525.             END
  526.             IF I4 1
  527. SAME
  528.             THEN
  529.               IF
  530. DUP TYPE 13 SAME
  531.               THEN
  532. DUP OBJ\->
  533. IF I25 2 / FP 0
  534. SAME
  535. THEN DROP I31 "\GD"
  536. "" REPLACE ".UN" +
  537. OBJ\-> * SWAP DROP
  538. DUP
  539.   IFERR OBJ\->
  540.   THEN 1
  541.   END I31 ".UN" +
  542. OBJ\-> DUP 'ABC.UN'
  543. STO+ YZ STO DROP
  544. ELSE I31 ".UN" +
  545. OBJ\-> DUP 'ABC.UN'
  546. STO+ YZ STO DROP
  547. END
  548.               ELSE
  549. IF I25 2 / FP 0
  550. SAME
  551. THEN I31 "\GD" ""
  552. REPLACE ".UN" +
  553. OBJ\-> * DUP
  554.   IFERR OBJ\->
  555.   THEN 1
  556.   END I31 ".UN" +
  557. OBJ\-> DUP 'ABC.UN'
  558. STO+ YZ STO DROP
  559. ELSE 1 I31 ".UN" +
  560. OBJ\-> DUP 'ABC.UN'
  561. STO+ YZ STO
  562. END
  563.               END
  564. ABC.UN 'ABC.UN' YZ
  565. STO
  566.             ELSE
  567.               IF
  568. DUP TYPE 13 SAME
  569.               THEN
  570. OBJ\-> DROP I31 ".UN"
  571. + OBJ\-> *
  572.               ELSE
  573. I31 ".UN" + OBJ\-> *
  574.               END
  575.             END I30
  576. STO 'I27' PURGE
  577.           THEN ERRM
  578. "
  579. Try it again !"
  580. + CLLCD 1 DISP 3
  581. FREEZE 1 'I27' TR
  582. STO CLEAR ABC PURGE
  583. ABC.UN PURGE
  584.           END
  585.         UNTIL I27 1
  586. SAME NOT
  587.         END CLEAR
  588. I38 OBJ\-> DROP
  589.       \>>
  590.     ELSE DROP
  591.     END
  592.   NEXT
  593. \>> CLEAR 0 'I34' TR
  594. STO 0 'I35' TR STO
  595. IFERR EQN EVAL
  596. THEN CLEAR 1 'I35'
  597. STO 1 'I27' STO
  598. ELSE DUP
  599.   IF DUP TYPE 13
  600. SAME SWAP TYPE 0
  601. SAME OR NOT
  602.   THEN 1 'I27' TR
  603. STO EQNVARS DROP
  604. DTAG 1 'I34' STO
  605.   END
  606. END
  607. IFERR EEQ EVAL
  608. THEN CLEAR 1 'I35'
  609. TR STO 1 'I27' STO
  610. ELSE DUP
  611.   IF DUP TYPE 13
  612. SAME SWAP TYPE 0
  613. SAME OR NOT
  614.   THEN 1 'I27' TR
  615. STO EQNVARS DROP
  616. DTAG 1 'I34' STO
  617.   END
  618. END
  619. IF I34 1 SAME
  620. THEN
  621.   IF DEPTH 2 SAME
  622.   THEN UNION
  623.   END DUP 'I33' TR
  624. STO \->STR " " ","
  625. REPLACE "{" " "
  626. REPLACE "}" " "
  627. REPLACE 'I32' TR
  628. STO
  629. END
  630.               UNTIL
  631. I27 1 SAME DUP
  632. IF 1 SAME
  633. THEN
  634.   IF I34 1 SAME
  635.   THEN
  636. "Missing these Values:
  637. XXX"
  638. "XXX" I32 REPLACE
  639. ABC PURGE ABC.UN
  640. PURGE
  641.   END
  642.   IF I35 SAME
  643.   THEN { Quit }
  644. MENU
  645. "There might be some
  646. Units inconsistant !
  647.  
  648. Sorry, You have to 
  649. quit and to check 
  650. the equation's 
  651. units. Then rerun!"
  652.   END CLLCD 1 DISP
  653. 3 FREEZE HALt ABC
  654. PURGE ABC.UN PURGE
  655. END NOT
  656.               END
  657.             ELSE
  658. CLEAR
  659.             END
  660.             IF I26
  661. y SAME NOT
  662.             THEN
  663. 'SKEY' 26.1 ASN 1 2
  664.               FOR
  665. I21
  666. IF I21 1 SAME
  667. THEN EQN EVAL
  668. ELSE
  669.   IF I23 3 SAME NOT
  670.   THEN ABC OBJ\-> \->
  671. I58
  672.     \<< 1 I58
  673.       FOR I59
  674.         IF I59 2 /
  675. FP 0 SAME NOT
  676.         THEN DROP
  677.         ELSE PURGE
  678.         END
  679.       NEXT
  680.     \>>
  681.   END EEQ EVAL DUP
  682. TYPE 'I102' TR STO
  683. END STEQ 30 MENU
  684. DO CLEAR
  685.   IF I23 1 SAME
  686.   THEN 0 'I23' STO
  687. CLLCD
  688. "Type for each Variable
  689. a Value without Units
  690. and press its Key.
  691. Go to next Set of 
  692. Error Values by
  693. pressing <SPC>-Key !"
  694. 1 DISP 3 FREEZE T\Gt
  695. HALt
  696.   ELSE
  697.     IF I21 1 SAME
  698.     THEN CLLCD
  699. "And now the Values
  700. for the next Equation
  701. Variable Set !
  702. Go to Tolerance Value
  703. Set by pressing
  704.      <SPC>-Key !"
  705. 1 DISP 3 FREEZE T\Gt
  706. HALt
  707.     ELSE
  708.       IF I102 9
  709. SAME
  710.       THEN CLLCD
  711. "Ready for a new Set
  712. of Tolerance Values!
  713.  
  714. Go to next Equation
  715. Set by pressing
  716.     <SPC>-Key !"
  717. 1 DISP 3 FREEZE T\Gt
  718. HALt
  719.       END
  720.     END
  721.   END
  722. UNTIL sm CLEAR ABC
  723. OBJ\-> 'I50' TR STO 1
  724. I50
  725.   FOR I51 \-> I52
  726.     \<<
  727.       CASE I52 EVAL
  728. TYPE 13 SAME
  729.         THEN DUP
  730. OBJ\-> DROP SWAP STO
  731.         END I52
  732. EVAL DUP TYPE 6
  733. SAME SWAP TYPE 0
  734. SAME OR NOT
  735.         THEN
  736. "What's about Zz ?"
  737. "Zz" I52 \->STR
  738. REPLACE 3 DISP 3
  739. FREEZE T\Gt 2 WAIT
  740. PLACEBO I52 STO
  741.         END
  742.       END
  743.     \>>
  744.   NEXT
  745.   IF I21 1 SAME
  746.   THEN EQN
  747.   ELSE EEQ
  748.   END EVAL DUP DUP
  749.   IF TYPE 1 SAME
  750.   THEN DEPTH \->LIST
  751. 'I40' TR STO
  752.     \<< 30 MENU
  753. "Press <SPC>-Key to
  754. continue !"
  755. 1 DISP 3 FREEZE
  756. HALt CLEAR
  757.     \>> 'solve' TR
  758. STO { CONT solve }
  759. MENU CLLCD
  760. "Sorry, but this will
  761. end with a  
  762.    COMPLEX RESULT !
  763. Use <SOLVE>-Menu for
  764. getting this Value !"
  765. Disp I40 \->OBJ DROP
  766.   END TYPE 0 SAME
  767. DUP
  768.   IF 0 SAME
  769.   THEN SWAP DROP {
  770. } MENU CLLCD
  771. "Try it again !" 1
  772. DISP 3 FREEZE 1
  773. WAIT 30 MENU
  774.   END
  775. END
  776. IF I21 1 SAME
  777. THEN 'I22' TR STO
  778. ELSE I22 SWAP
  779. END
  780.               NEXT
  781.             END 2
  782. \->LIST DUP 'Rr' TR
  783. STO DUP OBJ\-> DROP
  784. SWAP / 100 * ABS
  785. 'PRO' TR STO PRO
  786. "(" SWAP RCLF \-> I7
  787.             \<< 1 FIX
  788. "" + I7 STOF
  789.             \>> + "%"
  790. + ")" + SWAP OBJ\->
  791. DROP "\177" SWAP "" +
  792. + SWAP "" + SWAP +
  793. "
  794. " + SWAP + "'"
  795. " " REPLACE 1 \->LIST
  796. R.LIST SWAP
  797. 'R.LIST' STO
  798. 'R.LIST' STO+
  799. R.LIST 'R.LIST' TR
  800. DUP2 STo STO Rr
  801. OBJ\-> DROP PRO ABCD
  802. EVAL DEPTH 'I18' TR
  803. STO 1 I18
  804.             FOR I19
  805. I18 ROLL UVAL
  806.             NEXT
  807. I18 \->ARRY Rr OBJ\->
  808. ABC OBJ\-> \-> I20
  809.             \<< I20
  810. DROPN ABC EVAL I20
  811. 3 + \->LIST \->STR "
  812. "
  813. SWAP + Gen SWAP
  814. 'Gen' STO 'Gen'
  815. STO+
  816.             \>>
  817.             IF I4
  818. D\Gd\Gl \=/
  819.             THEN \GS+
  820.             ELSE \GS+
  821. \GSDAT 'Mat' YZ STO
  822. CL\GS Gen 'Gen' YZ
  823. PURGE DROP
  824.             END
  825.             IF I23
  826. 1 SAME I99 1 SAME
  827. OR D\Gd\Gl 1 SAME NOT
  828. AND
  829.             THEN 2
  830. 'I23' STO 2 'I99'
  831. STO { YES NO } MENU
  832. CLLCD
  833. "Do You want to keep
  834. some of the Values
  835. constant ?"
  836. Disp
  837.               IF y
  838. SAME
  839.               THEN
  840. 3 'I23' STO ABC { }
  841. 'ABC' STO OBJ\-> \->
  842. I39
  843. \<< 1 I39
  844.   FOR I40 DUP \->STR
  845. "Keep Yy-Value 
  846.    constant ? "
  847. SWAP "Yy" SWAP
  848. REPLACE CLLCD Disp
  849.     IF y SAME
  850.       IF I26 y SAME
  851.       THEN NOT
  852.       END
  853.     THEN 'ABC' STO+
  854.     ELSE
  855.       IF I26 y SAME
  856. NOT
  857.       THEN PURGE
  858.       ELSE DROP
  859.       END 'const'
  860. 'ABC' STO+
  861.     END
  862.   NEXT
  863. \>>
  864.               ELSE
  865. ABCD PURGE
  866.               END
  867.             END
  868.           NEXT ABCD
  869. PURGE { ABCD ABC }
  870. PURGE ABC.UN
  871. 'ABC.UN' YZ STO T\Gt
  872. I15 STOF
  873.         END
  874.       \>> 'CST' PURGE
  875. 1 MENU CLEAR
  876.       \<< CST 'cst'
  877. STO { CONT } MENU
  878. R.LIST OBJ\-> \-> I6
  879.         \<< I6 DROPN
  880. "Press <CONT> to scan 
  881. chosen Results ! "
  882. 1 DISP 3 FREEZE -1
  883. WAIT DROP
  884.           IF I6 0
  885. SAME NOT
  886.           THEN 1 I6
  887.             FOR I7
  888. R.LIST I7 GET
  889. PROMPT
  890.             NEXT
  891.           END
  892.         \>> { Yes { }
  893. { } { } { } No }
  894. MENU CLLCD 1 MENU
  895. "See Equations ?
  896. Switch with <ATTN> !"
  897. 1 DISP 3 FREEZE -1
  898. WAIT
  899.         IF 11.1
  900. SAME
  901.         THEN Eqn
  902. Eeq
  903.         END cst
  904. 'CST' 'cst' PURGE
  905. STO 1 MENU
  906.       \>> 'Scan' DUP2
  907. STo TR STO
  908. "\<< XXX Scan UPDIR \>>"
  909. "XXX" LATE REPLACE
  910. OBJ\-> "Scn" Ex OBJ\->
  911. DUP 'SCans' STO+ TR
  912. STO T\Gt Fx EQN =
  913. 'Fx' YZ STO T\Gt
  914. CLLCD
  915. "Create Equation Grob.."
  916. 1 DISP 3 FREEZE .6
  917. WAIT Fx 0 \->GROB
  918. 'EQG' DUP2 STo YZ
  919. STO \GDFx EEQ = '\GDFx'
  920. YZ STO T\Gt \GDFx CLLCD
  921. "Create Errorequation
  922.   Grob ..."
  923. 1 DISP 3 FREEZE .6
  924. WAIT 0 \->GROB 'EEG'
  925. DUP2 STo YZ STO
  926. "\<< X Y PVER  Z \>>"
  927. DUP "X" " " REPLACE
  928. "Z" " " REPLACE DUP
  929. "Y" "EQG" Ex
  930. REPLACE OBJ\-> 'Eqn'
  931. YZ T\Gt SWAP \->STR
  932. "EQG" Ex "EQG"
  933. REPLACE OBJ\-> SWAP
  934. STo T\Gt "Y" "EEG" Ex
  935. REPLACE OBJ\-> 'Eeq'
  936. YZ T\Gt SWAP \->STR
  937. "EEG" Ex "EEG"
  938. REPLACE OBJ\-> SWAP
  939. STo T\Gt "X" LATE
  940. REPLACE DUP "Y"
  941. "EQG" Ex REPLACE
  942. "Z" " UPDIR "
  943. REPLACE OBJ\-> "Eqn"
  944. Ex OBJ\-> DUP
  945. 'results' STO+ TR
  946. STO T\Gt "Y" "EEG" Ex
  947. REPLACE "Z"
  948. " UPDIR " REPLACE
  949. OBJ\-> "Eeq" Ex OBJ\->
  950. DUP 'results' STO+
  951. TR STO T\Gt { YES NO
  952. } MENU
  953. "See Results ?"
  954. Disp
  955.       IF y SAME
  956.       THEN { CONT }
  957. SCans UNION results
  958. UNION MENU CLLCD
  959. "Here They Are !"
  960. Disp
  961.       END { YES NO
  962. } MENU CLLCD
  963. "Next Data Analysis ?"
  964. PROMPT { 61 71 81 }
  965. DELKEYS
  966.     UNTIL n SAME
  967.     END SCans
  968. results UNION TRASH
  969. SDIFF 'TRASH' STO
  970. Quit
  971.   THEN
  972.     IF Data DUP
  973. TYPE 3 SAME
  974.     THEN '\GSDAT' STO
  975.     ELSE DROP
  976.     END 0 DELKEYS
  977. Keys STOKEYS -62 CF
  978. Flags STOF STACK
  979. OBJ\-> DROP GARB
  980. TRASH UNION PURGE 2
  981. MENU "" # 5B15h
  982. SYSEVAL PURGE
  983. Adress ARGUS 2 MENU
  984.   END
  985. \>>
  986.